import axios from 'axios';
import {API_URL_LARAVEL,API_URL_SERVICES} from './env';
import {refreshToken} from './index'

const instance = axios.create();
instance.defaults.baseURL=API_URL_LARAVEL;

// 添加请求拦截器
instance.interceptors.request.use(function (config) {
  // 在发送请求之前做些什么
  return config;
}, function (error) {
  // 对请求错误做些什么
  return Promise.reject(error);
});

// 添加响应拦截器
instance.interceptors.response.use(async function (response) {
  //console.log(response)
  // 对响应数据做点什么
  if(response.data.code==401){
    const token=await refreshToken();
    // 将新的Token设置到axios的默认请求头
    let data=JSON.parse(response.config.data);
    data.token=token;
    response.config.data=JSON.stringify(data);
    return await instance.request(response.config);
  }else{
    return response.data;
  }
}, function (error) {
  // 对响应错误做点什么
  return Promise.reject(error);
});

export default instance;